# config=utf-8
import time
import datetime
from flask import g
from flask_login import current_user
from book import create_app
from book.controller.home import homeRoute
from book.controller.account import accountRoute
from book.controller.user import userRoute
from book.controller.book import bookRoute
# from book.controller.novel import novelRoute

DEFAULT_MODULES = [homeRoute,
                   accountRoute,
                   userRoute,
                   bookRoute]

app = create_app('config.py')


@app.template_global('now_format')
def now_format():
    # 该函数是一个全局函数，可在页面中调用，该函数返回一个时间字符串，用途是禁止页面文件缓存。
    return time.time()


@app.template_global('time_current_year')
def time_current_year():
    # 该函数是一个全局函数，可在页面中调用，该函数返回当前时间所在的年份。
    return datetime.datetime.now().year


@app.before_request
def before_request():
    """
    这里是全局的方法，在请求开始之前调用。
    其中 flask 有个全局的变量 g，它是和 session 一样的用途，可以使用它来保存当前用户的数据
    Returns:
    """
    g.user = current_user
    g.site_name = "天使的羽毛"
    pass


for module in DEFAULT_MODULES:
    app.register_blueprint(module)
